package com.wxq.day0420.exception;

import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

/**
 * @Author wxq
 * @Date 2021/4/20
 **/
//@Component
public class MyExceptionHandler implements HandlerExceptionResolver {

    @Override
    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
        Map<String, Object> model = new HashMap<>();
        //根据不同错误转向不同页面，也就是异常和View的对应关系
        if (ex instanceof MyException) {
            return new ModelAndView("my-error", model);
        } else if (ex instanceof SQLException) {
            return new ModelAndView("sql-error", model);
        }
        return new ModelAndView("error", model);
    }
}